package cn.tedu.boot04.mapper;

import cn.tedu.boot04.entity.Product;
import org.apache.ibatis.annotations.*;

import java.util.List;

//Mapper注解作用: 设置当前接口为 映射接口,映射接口是供Mybatis框架生成JDBC
//代码的依据,在接口中定义方法和书写SQL语句
@Mapper
public interface ProductMapper {

    //#{xxx}此指令会从注解下面方法的参数列表中找同名变量,如果找不到
    //则会调用参数列表中变量的同名get方法
    @Insert("insert into product values(null,#{title},#{price},#{num})")
    void insert(Product product);
    /*声明返回值类型为List集合 Mybotis框架生成JDBC代码时会自动将查询到的数据
    *封装到Product对象里面，并且把对象添加到一个list集合中，把集合return出来*/
    @Select("select id,title,price,num from product")
    List<Product> select();

    //删除注解 定义删除相关的SQL语句
    @Delete("delete from product where id=#{id}")
    void deleteById(int id);

    @Update("update product set title=#{title},price=#{price}" + ",num=#{num} where id=#{id}")
    void update(Product product);
}
